//Esta Classe eh responsavel por controlar totalmente os movimentos do SCARA

#ifndef SCARA_H
#define SCARA_H

#include "sensors.h"
#include <cmath>

using namespace std;

class scara : protected sensors//,protected vision // classe scara herda todas as funcoes da classe sensors
{
	public:
		scara( int whichOne );
		~scara();
		
		int scaraGoTo(float X, float Y, int orientation);
		int pegaBloco();
		int deixaBloco( ); 
		int getContainerColor();
		int alinhaContainer(int qualBarco);
		int esperaStart();
		int sobeEfetuador(int time); // 0 =< time <= 999
		int desceEfetuador(int time);
		bool le_msgEnviada();
		void set_timeOutEstourado(bool arg);
		long int le_timeOut();
		int le_serial();
		int flush();
		struct timeval le_t_envio();

	private:

		const static float PI = 3.14157;

		// Distancias em cm
		const static float L0 = 3.0;  //Distancia minima em Z
		const static float L1 = 12.0; //Tamanho do Primeiro elo
		const static float L2 = 15.0; //Tamanho do Segundo elo
		const static float eps = 0.3; // tolerancia de posicionamento (em cm)
};

#endif

